import { Link } from './link';
import { SourceTrack } from './sourcetrack';
import { Rate } from './rate';
import { XmlObject, XmlChildElement, XmlAttribute, XmlElement } from "xml-core";
import { ClipFile } from './clipfile';
import { Filter } from './Filter';

@XmlElement({ localName: 'clip'})
export class ClipItem extends XmlObject {

    @XmlAttribute({ localName: 'id' })
    public _id: string;

    @XmlAttribute({ localName: 'in' })
    public _in: number;

    @XmlAttribute({ localName: 'out' })
    public _out: number;

    @XmlChildElement()
    public name: string;

    @XmlChildElement()
    public enabled: boolean;

    @XmlChildElement()
    public duration: number;

    @XmlChildElement()
    public rate: Rate;

    @XmlChildElement()
    public start: number;

    @XmlChildElement()
    public end: number;

    @XmlChildElement()
    public  masterclipid: string;

    @XmlChildElement()
    public file: ClipFile;

    public filter: Filter;

    public sourcetrack: SourceTrack;

    @XmlChildElement({ noRoot: true })
    public link: Link;

}